package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 签到记录对象 sgin_in_rewards
 *
 * @author ruoyi
 * @date 2025-05-08
 */
public class SginInRewards extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 签到奖励id */
    private Long sginInRewardsId;

    /** 奖励类型（1新用户签到奖励，2日常签到奖励） */
    @Excel(name = "奖励类型", readConverterExp = "1=新用户签到奖励，2日常签到奖励")
    private Integer type;

    /** 奖励类型(1灵石,2极品灵石,3通用道具,4补签道具，5游戏道具，6装扮(人物或飞剑),7宝箱,8超级宝箱,5 */
    @Excel(name = "奖励类型(1灵石,2极品灵石,3通用道具,4补签道具，5游戏道具，6装扮(人物或飞剑),7宝箱,8超级宝箱,5")
    private String rewardType;

    /** 奖励id，对于道具需要id，对于钻石、宝箱等可空 */
    @Excel(name = "奖励id，对于道具需要id，对于钻石、宝箱等可空")
    private Long rewardId;

    /** 奖励数量 */
    @Excel(name = "奖励数量")
    private Long rewardCount;

    /** 日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date date;

    /** 新用户签到第几天，仅奖励类型为新用户签到时有效 */
    @Excel(name = "新用户签到第几天，仅奖励类型为新用户签到时有效")
    private Integer newUserDay;

    /** 奖励信息 */
    @Excel(name = "奖励信息")
    private String information;

    public void setSginInRewardsId(Long sginInRewardsId)
    {
        this.sginInRewardsId = sginInRewardsId;
    }

    public Long getSginInRewardsId()
    {
        return sginInRewardsId;
    }
    public void setType(Integer type)
    {
        this.type = type;
    }

    public Integer getType()
    {
        return type;
    }
    public void setRewardType(String rewardType)
    {
        this.rewardType = rewardType;
    }

    public String getRewardType()
    {
        return rewardType;
    }
    public void setRewardId(Long rewardId)
    {
        this.rewardId = rewardId;
    }

    public Long getRewardId()
    {
        return rewardId;
    }
    public void setRewardCount(Long rewardCount)
    {
        this.rewardCount = rewardCount;
    }

    public Long getRewardCount()
    {
        return rewardCount;
    }
    public void setDate(Date date)
    {
        this.date = date;
    }

    public Date getDate()
    {
        return date;
    }
    public void setNewUserDay(Integer newUserDay)
    {
        this.newUserDay = newUserDay;
    }

    public Integer getNewUserDay()
    {
        return newUserDay;
    }
    public void setInformation(String information)
    {
        this.information = information;
    }

    public String getInformation()
    {
        return information;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("sginInRewardsId", getSginInRewardsId())
                .append("type", getType())
                .append("rewardType", getRewardType())
                .append("rewardId", getRewardId())
                .append("rewardCount", getRewardCount())
                .append("date", getDate())
                .append("newUserDay", getNewUserDay())
                .append("information", getInformation())
                .toString();
    }
}
